#ifndef STRUCTS_CU
#define STRUCTS_CU

#include <float.h>
#include <cuda_runtime.h>

//struct Ray {
//	Ray(){
//		origin = float3();
//		direction = float3();
//	}
//	Ray(float3 o, float3 d){
//		origin = o;
//		direction = d;
//	}
//	float3 origin;
//	float3 direction;
//};
//
//struct SampleRequest {
//	SampleRequest() {
//		ray = Ray();
//		tMin = 0.0f;
//		tMax = FLT_MAX;
//		sampleId = 0;
//		pixelId = 0;
//		passNum = 0;
//		prevWeight = 0.0f;
//	}
//	SampleRequest(Ray r, float tmin, float tmax, int sid, int pid, int pass, float prevwt) {
//		ray = r;
//		tMin = tmin;
//		tMax = tmax;
//		sampleId = sid;
//		pixelId = pid;
//		passNum = pass;
//		prevWeight = prevwt;
//	}
//	Ray ray;
//	float tMin;
//	float tMax;
//	int sampleId;
//	int pixelId;
//	int passNum;
//	float prevWeight;
//};
//
//struct SampleResult {
//	SampleResult() {
//		tVal = 0.0f;
//		point = float3();
//		normal = float3();
//		color = float3();
//		sampleWeight = 0.0f;
//	}
//	SampleResult(double t, float3 pt, float3 n, float3 c, float wt) {
//		tVal = t;
//		point = pt;
//		normal = n;
//		color = c;
//		sampleWeight = wt;
//	}
//	float tVal;
//	float3 point;
//	float3 normal;
//	float3 color;
//	float sampleWeight;
//};
//
//struct Material {
//	int textureId;
//};

#endif